//package fun.yyds.config;
//
//import com.baomidou.mybatisplus.annotation.FieldFill;
//import com.baomidou.mybatisplus.annotation.IdType;
//import com.baomidou.mybatisplus.generator.FastAutoGenerator;
//import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
//import com.baomidou.mybatisplus.generator.engine.VelocityTemplateEngine;
//import com.baomidou.mybatisplus.generator.fill.Column;
//import org.junit.jupiter.api.Test;
// import com.baomidou.mybatisplus.generator.config.OutputFile; // MyBatis-Plus 的路径
//import java.util.Collections;
//
///**
// * @className: MybatisPlusGenerator
// * @description: mybatis plus代码生成器
// **/
//public class MybatisPlusGenerator {
//
//    @Test
//    void mybatisPlusGenerator() {
//        FastAutoGenerator
//                // 数据源配置
//                .create(
//                        "jdbc:dm://localhost:5236/SYSDBA?rewriteBatchedStatements=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8",
//                        "SYSDBA",     // 达梦数据库模式名
//                        "Chen058038"        // 密码
//                )
//                // 全局配置
//                .globalConfig(
//                        builder -> {
//                            builder
//                                    .author("Chensn")              // 作者
//                                    .outputDir(System.getProperty("user.dir") + "/src/main/java")    // 指定输出目录
//                                    .commentDate("yyyy-MM-dd")                                // 注释的日期
//                                    // 修改Date类型为LocalDateTime
//                                    //.dateType(DateType.ONLY_DATE)
//                                    .enableSwagger()
//                                    .disableOpenDir();                                            // 禁止打开输出目录，默认：true
//                        }
//                )
//                // 包配置
//                .packageConfig(
//                        builder -> {
//                            builder
//                                    .parent("fun.yyds")// 父包名
//                                    .entity("entity")                                      // 实体类包名
//                                    .pathInfo(Collections.singletonMap(OutputFile.mapper, System.getProperty("user.dir") + "/src/main/resources/mapper/dmsql"))   // 设置 mapperXml 生成路径
//                                    .other("utils");                                                // 自定义文件包名
//                        }
//                )
//                // 策略配置
//                .strategyConfig(
//                        builder -> {
//                            builder
//                                    // 在这里添加数据库表名
//                                    .addInclude("USER_INFO")                       // 设置需要生成的表名，多个表之间可以用逗号隔开
//                                    // .addExclude("BBZQ_USER","BBZQ_USER_LOG")
//                                    .controllerBuilder().enableRestStyle()          // controller配置策略
//                                    .serviceBuilder().formatServiceFileName("%sService")            // service配置策略
//                                    .mapperBuilder().enableBaseColumnList().enableBaseResultMap().enableMapperAnnotation()     // mapper配置策略
//                                    .entityBuilder().enableLombok().enableRemoveIsPrefix().disableSerialVersionUID().enableTableFieldAnnotation()       // 实体配置策略
//                                    .logicDeleteColumnName("is_deleted")                  // 逻辑删除字段名
//                                    .naming(NamingStrategy.underline_to_camel)            // 数据库表映射到实体的命名策略，下划线转驼峰
//                                    .columnNaming(NamingStrategy.underline_to_camel)      // 数据库表字段映射的命名策略，下划线转驼峰
//                                    .addTableFills(    // 添加表字段填充，"create_time"自动填充为插入时间，"update_time"自动填充为修改时间
//                                            new Column("create_time", FieldFill.INSERT),
//                                            new Column("update_time", FieldFill.INSERT_UPDATE)
//                                    )
//                                    .idType(IdType.AUTO);
//                        }
//                )
//                // 模板配置
//                .templateEngine(new VelocityTemplateEngine())    // 使用的是默认的 Velocity 引擎模板
//                // 执行
//                .execute();
//    }
//}
//
